"""
    目标：
           暂停2秒
        1. 定位 A上海
        2. 暂停2秒
        3. 定位A广州
    步骤：
        1. 导包 Select类
        2. 获取 Select对象
            匿名：Select(element).select_by_index()    # 通过下标
            实名：select = Select(element)
                调用：select.select_by_index()
    操作方法：
        select_by_index(index)          --> 根据option索引来定位，从0开始
        select_by_value(value)          --> 根据option属性 value值来定位
        select_by_visible_text(text)    --> 根据option显示文本来定位

    注意：
        1.Select类是通过select标签来控制其下的option元素
        2.element：只能是select标签
"""

# 导包
from selenium import webdriver
from time import sleep

from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select

# 获取浏览器驱动对象
driver = webdriver.Chrome()

# 打开url
url = r"D:\python\python-selenium-learn\a05_HTML特殊元素处理\learn-files\注册A.html"
driver.get(url)

# 最大化浏览器
driver.maximize_window()

# 隐式等待
driver.implicitly_wait(30)

sleep(2)

# 使用Select完成需求
element = driver.find_element(By.CSS_SELECTOR, "select")

"""通过下标形式访问"""
sleep(2)
# 切换上海
Select(element).select_by_index(1)
sleep(2)
# 切换广州
Select(element).select_by_index(2)

"""通过value值访问"""
sleep(2)
# 获取Select引用对象
select = Select(element)
# 切换上海
select.select_by_value("sh")
sleep(2)
# 切换广州
select.select_by_value("gz")

"""通过显示文本切换"""
sleep(2)
# 切换上海
Select(element).select_by_visible_text("A上海")
sleep(2)
# 切换广州
Select(element).select_by_visible_text("A广州")

# 暂停2秒
sleep(2)
# 关闭驱动对象
driver.quit()